package com.bjc.sdx.adapter;

import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;

import java.util.List;

public class MyPagerAdapter extends PagerAdapter {
    private List<View> viewList;//view数组
    public MyPagerAdapter(List<View> viewList) {
        this.viewList = viewList;
    }

    /**
     * 判断是否page view与 instantiateItem(ViewGroup, int)返回的object的key 是否相同，
     * 以提供给其他的函数使用
     * @param arg0
     * @param arg1
     * @return
     */

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        // TODO Auto-generated method stub
        return arg0 == arg1;
    }

    @Override
    public int getCount() {
        //返回有效的View的个数
        return viewList.size();
    }

    /**
     * 该方法的功能是移除一个给定位置的页面。
     * @param container
     * @param position
     * @param object
     */
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(viewList.get(position));
    }

    /**
     *  instantiateItem该方法的功能是创建指定位置的页面视图。finishUpdate(ViewGroup)返回前，页面应该保证被构造好
     *  返回值：返回一个对应该页面的object，这个不一定必须是View，但是应该是对应页面的一些其他容器
     * @param container
     * @param position
     * @return
     */
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(viewList.get(position));
        return viewList.get(position);
    }
};
